Software applications for computer systems are widely available in retail stores, mail-order catalogs, and via the Internet, for example. Typically, a user who purchases a software application package either installs the application directly onto his or her computer system via removable media, e.g., compact disk (CD) or DVD, or downloads the application via a network communication, such as the Internet. If the user wishes to share the application with another user, e.g., a coworker, the user can provide the removable media, if such is available, to the coworker so that the coworker can install the application on the coworker's computer system. If the removable media is not available, the coworker might be able to download the application from the user's computer system, or copy the application from a network hard drive. Alternatively, the user might be able to transmit the application in an electronic message to the coworker via email.
Each of the distribution mechanisms described above are functional, but cumbersome for the user. In every instance, the user must perform numerous tasks to share the application or module. For example, to distribute the application by email, the user must invoke the email program, browse through the hard drive to retrieve the installation file(s), and attach the installation file(s) to the email message. In another example, to distribute the application by FTP, the user must place the installation image or files on an available FTP server, notify the intended recipients that the application is on the server, and provide security and location information to the recipients.
Moreover, even if the user is able and willing to perform the tasks needed to distribute the application, there still remains the problem of determining which file(s) must be provided in order to distribute the application to the recipient. For example, often times, an installation image for the application is not available and the necessary application files are scattered throughout the user's computer system. Identifying and gathering the required application file(s) is not necessarily an intuitive task.
Accordingly, a need exists for an improved system and method that allows a user to use a computer system to distribute a software application or module to others. Furthermore, there exists a need for a system and method for tracking such distribution of software applications. The present invention addresses such a need.